<?php

namespace App\Console;
use App\Http\Models\RequestSuccess;
use DB;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;

class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
//        \App\Console\Commands\Add_Billing::class,
//        \App\Console\Commands\Monthly_Billing::class,
//        \App\Console\Commands\Contract_Unlock::class,
//        \App\Console\Commands\Delete_OldFile::class,
//        \App\Console\Commands\CloudSign_autoSend::class,
//        \App\Console\Commands\Update_Contract::class,
//        \App\Console\Commands\Contract_TimeUpdate::class,
//        \App\Console\Commands\Contract_Stop::class,
//        \App\Console\Commands\Contract_FindSizeNull::class,
//        \App\Console\Commands\Trial_Expiration::class
//        \App\Console\Commands\CountDayOrders::class,
    ];

    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
//        // 請求プロパティを変更する 毎月１日 00:01
//        $schedule->command('Monthly:Billing')->everyMinute()->timezone('Asia/Tokyo');
//        // 会社の請求書を追加 毎月１日 00:01
//        $schedule->command('Add:Billing')->everyMinute()->timezone('Asia/Tokyo');
//        // ロック解除 毎5分
//        $schedule->command('Contract:Unlock')->everyFiveMinutes()->timezone('Asia/Tokyo');

        // 請求プロパティを変更する 毎月１日 00:01
//        $schedule->command('Monthly:Billing')->monthlyOn(1, '00:01')->timezone('Asia/Tokyo');
//        // 会社の請求書を追加 毎月１日 00:01
//        $schedule->command('Add:Billing')->monthlyOn(1, '00:01')->timezone('Asia/Tokyo');
//        // ロック解除 毎5分
//        $schedule->command('Contract:Unlock')->everyThirtyMinutes()->timezone('Asia/Tokyo');
//        // 毎週月曜日ジャンクファイルを削除 00:10
//        $schedule->command('Delete:OldFile')->weeklyOn(1, '00:10')->timezone('Asia/Tokyo');
//
//        $schedule->command('Trial:Expiration')->dailyAt('00:00')->timezone('Asia/Tokyo');
//        // 合意締結証明書のバッチ処理  毎日 00:20邓 start
//        $schedule->command('CloudSign:autoSend')->dailyAt('00:20')->timezone('Asia/Tokyo');
//        // 合意締結証明書のバッチ処理  毎日 00:20 邓 end
//        //スポット终了 毎日 00:30
//        $schedule->command('contract:stop')->dailyAt('00:30')->timezone('Asia/Tokyo');
//        // 定時送信メールのバッチ処理  毎日 00:40
//        $schedule->command('Update:Contract')->dailyAt('00:40')->timezone('Asia/Tokyo');
//        //更新契约  毎日 00:50
//        $schedule->command('Contract:TimeUpdate')->dailyAt('00:50')->timezone('Asia/Tokyo');
//        //請求送信　　毎一時
//        $schedule->command('Request:Send')->hourly()->timezone('Asia/Tokyo')->skip(
//            function () {
//                $requestSuc = new RequestSuccess();
//                $res = $requestSuc->kenelSelect();
//                $bool = sizeof($res) === 1;
//                return $bool;
//            }
//        )->withoutOverlapping();
    }

    /**
     * Register the commands for the application.
     *
     * @return void
     */
    protected function commands()
    {
        $this->load(__DIR__.'/Commands');

        require base_path('routes/console.php');
    }
}
